package com.wang.demo02;

/**
 * @Author 19225
 * @create 2020/12/2 23:12
 */
//这种代理模式更多的是为了低耦合吧，不用在service里改变东西，直接在代理模式里面
public class UserServiceProxy implements UserService{


    public UserServiceImpl userService;
    private UserServiceImpl2 userServiceImpl2;
    public void setUserServiceImpl2(UserServiceImpl2 userServiceImpl2)
    {
        this.userServiceImpl2 = userServiceImpl2;
        //this 关键字用来表示当前对象本身，或当前类的一个实例，通过 this 可以调用本对象的所有方法和属性。
    }

    public void a()
    {
        log("a");
        userServiceImpl2.a();
    }
    public void setUserService(UserServiceImpl userService)
    {
        this.userService = userService;
    }
    public void add() {
        log("add");
        userService.add();
    }

    public void delete() {
        log("delete");
        userService.delete();
    }

    public void change() {
        log("change");
        userService.change();
    }

    public void query() {
        log("query");
        userService.query();
    }
    public void log(String msg)
    {
        System.out.println("[Debug]使用了"+msg+"方法");
    }

}
